La arquitectura del crecimiento
Las colecciones de Rust, como Vec<T> y String, no son tipos primitivos; son estructuras definidas en la biblioteca que residen en el módulo std módulo. Esta base determina cómo Rust organiza los datos a través del sistema de módulos y gestiona la memoria mediante RAII (Adquisición de recursos es inicialización). Mientras que los tipos simples viven en la pila, las colecciones utilizan almacenamiento en el montón para un crecimiento dinámico, lo que significa que su memoria debe gestionarse explícitamente a través del Drop trait.
Resolución de módulos y visibilidad
El compilador de Rust mapea el árbol de módulos comenzando desde la raíz del paquete (src/lib.rs o src/main.rs). Una declaración como mod front_of_house; indica al compilador que busque src/front_of_house.rs o src/front_of_house/mod.rs. Usando pub modificadores y reexportaciones (pub use) permite que los datos asignados en el montón se accedan de forma segura a través de rutas idiomáticas.
Tan pronto como finaliza el alcance de un módulo, el Drop implementación libera automáticamente la memoria del montón: $$Memory_{reclaimed} = \sum Drop(Elementos)$$.